//实例  axios允许开发者先创建一个实例，后续通过使用实例进行请求  这样做的好处就是可以预处理一些配置
const instance =axios.create({
    baseURL:' https：//study.duyi.edu.com/'
})
//发送get请求https：study.duyiedu.com/api/herolist  输出响应体的内容
instance.get("api/***").then(resp=>{
    console.log(res.data)  //res.data为响应式数据，axios会自动解析成json的形式
})
//拦截器
// 有时候我们可能需要对所有的请求或者响应做一些统一的处理，如果发现本地有token，需要附带到请求头中，或者在拿到响应数据后我们仅需要取一些data的属性当中
// 再比如 如果发生一些错误的话，需要做一个弹窗显示
//这些统一的行为都需要拦截器来处理

// 添加请求拦截器。
axios.interceptors.request.use(function (config){
    //config 为当前的配置
    //在发送请求之前做些什么
    //这里我们需要添加一个请求头
    const token=localStorage.getItem('token');
    if(token){
        config.headers.authorization=token
    }
    return config //处理后的配置
})

//添加响应拦截器
axios.interceptors.response.use(function(resp){
    const token=resp.header.authorization;
    if(token){
        localStorage.setItem('token',token)
    }
    //一般情况下 2**范围内的状态码都会触发该函数的执行
   return resp.data.data;//仅得到响应体中的data属性

},function(error){
//超出2**范围的状态码都会触发该函数
//对响应错误的做点什么
alter(error.message) //弹出错误消息
})